Sostituzione dei caratteri 8x8
La sostituzione dei caratteri è il punto di partenza nella traduzione di una Rom
in giapponese.
Preliminarmente, occorre decidere ad ogni carattere giapponese che carattere occidentale (n.d.t) associare.
Il miglior modo di far ciò è trovare l'immagine della 'tabella dei caratteri' del gioco e utilizzarla
così che nel momento in cui si sostituiscono i caratteri, essi appariranno correttamente in
questa schermata (p.e. in ordine alfabetico). L'esempio seguente, dalla serie Dragon Quest
, vi mostrerà come fare:
Passo 1: Trovare la schermata 'Name Select'
|
Non dovrebbe essere troppo difficile. Una volta ottenuta, salvala come immagine (se il tuo emulatore non supporta questa operazione, avvia sotto finestra DOS e usa le icone taglia/copia/incolla (o prova il tasto "stamp")).
|
Passo 2: Convertire il Primo carattere
|
Ora devi sfoderare le tue conoscenza in numeri binari/esadecimali/decimali. Se non sei capace, puoi fermarti qui!
Si deve convertire ogni fila del carattere da binario a esadecimale. Assumi che ogni pixel rappresenti
un bit e che quello di sinistra sia il più significativo (=128). Se il pixel è parte del carattere (bianco) dai ad esso valore 1, viceversa 0.
Questo vi darà infine gli 8 numeri/bytes esadecimali a destra dell'immagine.
|
Passo 3: Caccia al Carattere
Ora conosci i bytes del carattere, puoi andare alla ricerca di esso per la
rom. Ma non è così facile come sembra. Se il carattere usa una bitmap per i
caratteri, gli 8 bytes si dovrebbero trovare assieme. Se viene utilizzata più
di una bitmap, ci potrebbero essere byte extra tra ognuno dei tuoi byte.
Questo è il nostro caso, dove dovresti cercare per 20 FF FC FF ecc... Gli
extra byte possono non essere 'FF' ma ben anche '00'. Il font può essere in qualche modo criptato o compresso,
caso in cui il metodo illustrato
non funzionerà (difficile)! Se si incontrano più occorrenze, provare il prossimo
passo per ogni carattere
fino a che non si cambiano tutti.
|
|
Passo 4: Modificare il Carattere
|
Ora sai dove si trova il carattere nella rom, puoi così cambiare questi byte per
modificare il carattere. In questo caso è stato cambiato in 'A'. Una volta
effettuato ciò, carica la rom e il carattere verrà cambiato, altrimenti hai patchato la locazione errata; riprova
il passo 3 finchè ciò non accade. Se
ancora ottieni nulla, forse provando con il carattere successivo, può funzionare...
|
Passo
5: Completamento del font
|
Bene, convertito il primo carattere, dovresti essere in grado di completare il tutto!
La cosa noiosa è dover ripetere il procedimento carattere per carattere, ma è
sempre meglio di trovare e immaginarsi dove è situato il carattere successivo senza
convertirli in numeri esadecimali. Normalmente, fatto il primo
devi solo provare a patchare 'B' dentro i successivi pochi byte. Se sei davvero
abile, potresti scrivere un programma che carichi la rom e patchi tutti i caratteri
per te (scarica il mio 8x8 Font collection per font data).
|
|